# python-code

#### 介绍
# # # python文件重命名（包涵子路径下的全部文件)，全部文件，不管几层目录
path = (input(r'请输入路径:（例如：D:\\\\Desktop）：'))
# oldprefix = input("请输入被替换的重复字符：")
# newprefix = input("请输入要替换的内容：")
# name = input("请输入名字：")

# path = r'例如D:\\\\Desktop ：'
oldprefix = ''
newprefix = ''
name = ''
start_time = time.time()

def PATH(file_path, name, oldprefix, newprefix):  # file_path为文件夹路径
    number = 0   # 路径下的总文件数
    for root, dirs, files in os.walk(file_path):  # 获取文档内所有文件
        count = 0  # 子目录的文件数
        file = root.split('\\')[-1]  # 取文件夹最后一层的文件夹名字

        for file_name in files:  # 取出文件夹下各文件名

            fileType = os.path.splitext(file_name)[1]  # 将文件名和扩展名分开

            # if file_name.endswith(fileType):  # 选出要修改的文件类型；
            count += 1
            number += 1

            if fileType == '.webp' or fileType == '.jpeg' or fileType == '.jpg' or fileType == '.png' or fileType == '.JPEG' or fileType == '.JPG' or fileType == '.PNG' or fileType == '.bmp' or fileType == '.BMP' or fileType == '.gif' or fileType == '.GIF':
            # if fileType == '.mp4' or fileType == '.rmvb' or fileType == '.mov' or fileType == '.wmv' or fileType == '.flv' or fileType == '.mpeg' or fileType == '.avi' or fileType == '.MP4' or fileType == '.RMVB' or fileType == '.MOV' or fileType == '.WMV' or fileType == '.FLV' or fileType == '.MPEG' or fileType == '.AVI':
            # if fileType == '.mp3' or fileType == '.mpeg' or fileType == '.wav' or fileType == '.flac' or fileType == '.MPEG' or fileType == '.MP3' or fileType == '.WAV' or fileType == '.FLAC':
            # if fileType == fileType:     # 全部文件类型
                new_name = f"{name}{str(count).zfill(3)}{fileType}"  # 写出想要修改的样式
                # new_name = f"{file} {str(count).zfill(3)}{fileType}"  # 以文件夹名称命名文件
                # new_name = file_name.replace('test', 'test2')    # 将原来名字里的‘test’替换为‘test2’， 前缀替换
                try:
                    os.rename(os.path.join(root, file_name), os.path.join(root, new_name))  # 此处是重命名自己想要的样式
                except FileExistsError:
                    pass
        print(f"正在命名：[{root}]  路径中共有{count}个文件")

    end_time = time.time()
    howtime = end_time - start_time

    print("耗时:%.5fs," % howtime, colored("总共%s个文件被成功重命名" % str(number), "green"))
# print(colored('一共修改了 %s 个文件夹共 %s 个文件,共耗时%.5fs' % (total_num_folder, o, howtime), "white", attrs=['reverse', 'blink']))

PATH(path, name, oldprefix, newprefix)